package day03.io;

import java.io.*;

/*
* JAVA将流按照读写单位划分为:字节流与字符流
* InputStream和OutputStream是字节流的超类
* Reader和Writer是字符流的超类。
* 这些超类之间没有继承关系，是平级的
*
* 字符流中定义了读写字符的相关read和write方法使得我们读写的最小单位为字符(char)
* 注意：字符流仅适合读写文本数据
* 字符流底层本质还是读写字节，只是字节与字符的转换字符流会完成
*
* 转换流：
* InputStream和OutputStreamWriter
* 常用的一对字符流实现类，它们是一对高级流，实际开中我们几乎不会直接操作他们，但是、
* 他们在流连接中是非常重要的一环
*
* 功能：
* 1.衔接其他字符流与下面的字节流
* 2.字符与字节的转换由转换流完成
*
* */
public class OSWDemo {
    public static void main(String[] args) throws IOException {
//        向文件中写入文本数据
        FileOutputStream fos=new FileOutputStream("osw.txt");
//        转换流创建时可以指定字符集,那么写出的字符都会按照该字符集转换为字节
        OutputStreamWriter osw=new OutputStreamWriter(fos,"UTF-8");
//        字符输出流提供的write方法是以字符为单位的。并且也提供了直接写出一个字符串的方法
        osw.write("开工利是");
        osw.write("隔开");
        System.out.println("书写完毕");
        osw.close();
    }
}





